diff --git a/system/codeigniter/Common.php b/system/codeigniter/Common.php
index 05720a4..b6a4ce4 100644
--- a/system/codeigniter/Common.php
+++ b/system/codeigniter/Common.php
@@ -46,7 +46,7 @@
 	{
 		$file = rtrim($file, '/').'/'.md5(rand(1,100));
 		
-		if (($fp = @fopen($file, 'ab')) === FALSE)
+		if (($fp = @fopen($file, FOPEN_WRITE_CREATE_EOF)) === FALSE)
 		{
 			return FALSE;
 		}
@@ -56,7 +56,7 @@
 		@unlink($file);
 		return TRUE;
 	}
-	elseif (($fp = @fopen($file, 'ab')) === FALSE)
+	elseif (($fp = @fopen($file, FOPEN_WRITE_CREATE_EOF)) === FALSE)
 	{
 		return FALSE;
 	}
diff --git a/system/helpers/file_helper.php b/system/helpers/file_helper.php
index 1eb8348..2bcb98b 100644
--- a/system/helpers/file_helper.php
+++ b/system/helpers/file_helper.php
@@ -50,7 +50,7 @@
 			return file_get_contents($file);		
 		}
 
-		if (! $fp = @fopen($file, 'rb'))
+		if (! $fp = @fopen($file, FOPEN_READ_BOF))
 		{
 			return FALSE;
 		}
@@ -85,7 +85,7 @@
  */	
 if (! function_exists('write_file'))
 {
-	function write_file($path, $data, $mode = 'wb')
+	function write_file($path, $data, $mode = FOPEN_WRITE_CREATE_BOF)
 	{
 		if (! $fp = @fopen($path, $mode))
 		{
@@ -167,7 +167,7 @@
 {
 	function get_filenames($source_dir, $include_path = FALSE, $_recursion = FALSE)
 	{
-		$_filedata = array();
+		static $_filedata = array();
 				
 		if ($fp = @opendir($source_dir))
 		{
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index 3b4dddd..d71f593 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -1070,7 +1070,7 @@
 			$attachment[$z++] = $h;
 			$file = filesize($filename) +1;
 			
-			if (! $fp = fopen($filename, 'r'))
+			if (! $fp = fopen($filename, FOPEN_READ_BOF))
 			{
 				$this->_set_error_message('email_attachment_unreadable', $filename);
 				return FALSE;
diff --git a/system/libraries/Log.php b/system/libraries/Log.php
index 247aee1..370ab79 100644
--- a/system/libraries/Log.php
+++ b/system/libraries/Log.php
@@ -97,7 +97,7 @@
 			$message .= "<"."?php  if (!defined('BASEPATH')) exit('No direct script access allowed'); ?".">\n\n";
 		}
 			
-		if (! $fp = @fopen($filepath, "a"))
+		if (! $fp = @fopen($filepath, FOPEN_WRITE_CREATE_EOF))
 		{
 			return FALSE;
 		}
diff --git a/system/libraries/Upload.php b/system/libraries/Upload.php
index f139070..853c162 100644
--- a/system/libraries/Upload.php
+++ b/system/libraries/Upload.php
@@ -741,7 +741,7 @@
 			return FALSE;
 		}
 		
-		if (! $fp = @fopen($file, 'r+b'))
+		if (! $fp = @fopen($file, FOPEN_READ_WRITE_BOF))
 		{
 			return FALSE;
 		}
diff --git a/system/libraries/Zip.php b/system/libraries/Zip.php
index 4bdc925..6b59880 100644
--- a/system/libraries/Zip.php
+++ b/system/libraries/Zip.php
@@ -301,7 +301,7 @@
 	 */	
 	function archive($filepath)
 	{
-		if (! ($fp = @fopen($filepath, "wb")))
+		if (! ($fp = @fopen($filepath, FOPEN_WRITE_CREATE_BOF)))
 		{
 			return FALSE;
 		}
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 9817d16..615d363 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -72,7 +72,7 @@
     	<ul>
     		<li>Added 'application/vnd.ms-powerpoint' to list of mime types.</li>
     		<li>Added 'audio/mpg' to list of mime types.</li>
-			<li>Added new user-modifiable file constants.php containing file mode constants.</li>
+			<li>Added new user-modifiable file constants.php containing file mode and fopen constants.</li>
     		<li>Added the ability to set CRLF settings via config in the <a href="libraries/email.html">Email</a> class.</li>
     	</ul>
     </li>
